#include "fmt/core.h"
#include "util/json.hpp"

using namespace ibox::util;

void test_load() {
    json res = JSON::load(R"(
    {
        "hello": "world",
        "pi": 3.14
    })");
    fmt::print(R"(res["hello"]: {})" "\n", res["hello"]);
    // WRONG, raise type error
    // fmt::print(R"(res["pi"]: {})" "\n", res["pi"]);
    float pi = res["pi"];
    fmt::print(R"(res["pi"]: {})" "\n", pi);
}

void test_dump() {
    json j = {
        {"happy", true},
        {"pi", 3.14},
        {"nothing", nullptr},
    };
    fmt::print("dump result: {}\n", JSON::dump(j));
}
int main() {
    test_load();
    test_dump();
}
